Implementei todo o código um asp net simple page ( sem code behind ) para simplificar o exemplo.
O ambiente web mobile tem funcionalidades diferentes do ambiente web desktop.
Se você implementou um menu pensando apenas num ambiente desktop pode ficar desapontado ao ver sua
renderização num ambiente mobile.
A principal diferença é que no ambiente web-desktop temos um mouse que ao passar sobre um item do menu causa
o evento 'mouse over' ou 'hover' que expande / abre os itens do menu.
No ambiente mobile não temos o mouse e, sendo assim o efeito do 'mouse over' deverá ser
implementado no ambiente mobile pelo click do item.
Sendo assim os itens de menu superiores terão que ter obrigatóriamente o parâmetro
NavigateUrl="#" porque ao serem clicados nada farão a não ser se tiverem sub-itens e o click ai
simplesmente abrirá os sub-itens do menu.
Código:
<h4>
<asp:Label ID="Label1" runat="server" OnLoad="Label1_Load"></asp:Label>
</h4>
<script runat="server">
Protected Sub Label1_Load(sender As Object, e As EventArgs)
If Request.Browser.IsMobileDevice Then
sender.text = "Dispositivo Móvel"
Else
sender.text = "Não é Dispositivo Móvel"
End If
End Sub
</script>
Exemplo do Web-Menu :